#include <REGX52.H>

void DelayMs(unsigned int ms) //@11.0592MHz
{
    unsigned char i, j;
    while(ms){
        i = 2;
        j = 259; 
        do {
            while (--j);
        } while (--i);
        ms--;
    }
}

unsigned char ledNum = 0x01;
unsigned char index = 0;        // index 用于控制电灯的位置；K1 和 K2 按下后实际上是在更改 index
void main() {
	while(1) {
		// K1 
		if (P3_1 == 0) {
			DelayMs(20);
			while (P3_1 == 0);
			DelayMs(20);
			index = ++index > 7 ? 0 : index;
			P2 = ~(ledNum << index);
		}
		// K2 
		if (P3_2 == 0) {
			DelayMs(20);
			while (P3_2 == 0);
			DelayMs(20);
			index = index == 0 ? 7 : --index;   // index 是无符号整型
			P2 = ~(ledNum << index);
		}
	}
}
